﻿namespace PropOnline.ViewModels.Shared
{
    using System.Text;
    using PropOnline.Helpers;
    using PropOnline.Models;
    
    public abstract class ResultadoViewModelBase
    {
        public virtual BusquedaViewModelBase BusquedaViewModel { get; set; }

        public ResultadoPropiedadesViewModel ResultadoPropiedades { get; set; }

        public string BusquedaCurrentUrl { get; set; }

        public string TipoOperacionZonaTitle
        {
            get
            {                
                if (this.BusquedaViewModel.TipoPropiedad == null
                    && this.BusquedaViewModel.Operacion == null
                    && string.IsNullOrEmpty(this.BusquedaViewModel.ZonaNombre))
                {
                    return string.Empty;
                }

                StringBuilder sb = new StringBuilder();
                
                sb.Append(EnumExtensions.GetDescription(typeof(TipoPropiedad), this.BusquedaViewModel.TipoPropiedad));
                sb.Append(" en ");                
                sb.Append(this.BusquedaViewModel.Operacion.Value.ToString());

                if (!string.IsNullOrEmpty(this.BusquedaViewModel.ZonaNombre)) 
                {
                    sb.Append(" en ");                
                    sb.Append(this.BusquedaViewModel.ZonaNombre);                
                }                

                return sb.ToString();
            }
        }
    }
}